// pages/cart/cart.js
import { fetch } from '../../utils/fetch'
import { getTotalPrice, getCurrentPage } from '../../utils/index'
Page({
  /**
   * 页面的初始数据
   */
  data: {
    show: false,
    postion: 'top',
    height: "50%",
    list: [],
    cartList: [],
    totalPrice: '',
    totalText: '去结算',
    routerPath: ''
  },
  showPopup(e) {
    this.setData({ show: !this.data.show })
  },
  closePopup(e) {
    this.setData({ show: e.detail.show })
  },
  async getGoodsList() {
    const res = await fetch('goodsList', { page: 1, size: 5 })
    console.log('res', res.data)
    res.data.forEach(item => {
      item.price = item.price.toFixed(2)
    })
    const list = res.data.filter(v => v.isCart)
    // cartList 就是通过判断isCart是否放在了购物车中
    // 首次渲染，计算总价，其他每次调用渲染接口，都会计算总价
    this.setData({
      list: res.data,
      cartList: list,
      totalPrice: getTotalPrice(list)
    })
  },
  async addItem(e) {
    // 用户每次点击+ 需要调用 弹出框显示 postion="bottom"
    this.setData({ postion: 'bottom', height: "50%", show: true })
    const { goodsId } = e.detail
    const res = await fetch('updateGoodsNumber', { _id: goodsId, msg: 'add' })
    wx.showToast({
      title: '添加成功',
      mask: true
    })
    await this.getGoodsList()
  },
  async reduceItem(e) {

    const { goodsId } = e.detail
    const res = await fetch('updateGoodsNumber', { _id: goodsId, msg: 'reduce' })
    wx.showToast({
      title: '修改成功',
      mask: true
    })
    await this.getGoodsList()

  },
  // 去结算
  onSubmit() {
    wx.navigateTo({
      url: `/pages/order/order`,
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.getGoodsList()
    console.log('cart页面路径:', getCurrentPage())
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {
  },
  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    // 获取当前路径
    this.setData({
      routerPath: getCurrentPage()
    })
    console.log('routerPath:', this.data.routerPath)
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})